//顶点着色器代码 in:输入变量  out:输出变量
#version 460 core //版本
layout (location = 0)// 位置变量的属性位置值为0
in vec3 aPos; //输入顶点坐标
layout (location = 1) in vec3 aNormal; //顶点法向量

uniform mat4 model; //模型矩阵
uniform mat4 view; //观察矩阵
uniform mat4 projection; //透视矩阵

out vec3 Normal; //将法向量由顶点着色器传递到片段着色器
out vec3 FragPos; //片段位置 世界坐标 传给片段着色器
void main()
{
   gl_Position = projection * view * model * vec4(aPos, 1.0); //输出vec4类型的向量(按变换矩阵变换后) 乘法 从右往左读
   Normal = mat3(transpose(inverse(model))) * aNormal; //将法向量由顶点着色器传递到片段着色器
   FragPos = vec3(model * vec4(aPos, 1.0));
}
